#pragma once
#include "../GenericPlatformMisc.h"

namespace Alice
{
	class WindowsGLRenderDevice {
	public:
		HDC mHandleDeviceContext;
		HGLRC mRenderContext;
		WindowsGLRenderDevice() :mHandleDeviceContext(nullptr), mRenderContext(nullptr) {}
		static WindowsGLRenderDevice mCurrentOpenGLDevice;
	};
	class WindowsPlatformMisc
		: public GenericPlatformMisc
	{
	public:
		static void SetThreadName(const char* name);
		FORCEINLINE static void MemoryBarrier() { _mm_sfence(); }
	};
	typedef WindowsGLRenderDevice OpenGLDevice;
	typedef WindowsPlatformMisc PlatformMisc;
}